<?php

Load::models('movimientos','movimientostipo');
class MovimientosController extends AdminController {
		
    public function index($pagina=1){
        try {
            $movimientos = new Movimientos();
            $this->movimientos = $movimientos->paginate("page: $pagina");
        } catch (KumbiaException $e) {
            View::excepcion($e);
        }
    }


    public function registrar(){		
        $this->titulo = "Registro de movimiento";
            View::select('registrar');
            try {
                if (Input::hasPost('movimientos')) {
                    $movimiento = new Movimientos(Input::post('movimientos'));

                    if ($movimiento->save()) {                    
                        Acciones::add("Registro de movimiento a inventario {$movimiento->id} al sistema", 'Movimientos');
                        return Router::redirect('registrar');
                    } else {
                        Flash::warning('No se Pudieron Guardar los Datos...!!!');
                    }
                }
            } catch (KumbiaException $e) {
                View::excepcion($e);
            }
    }

    public function detalles_movimiento(){		

    }

    public function eliminar(){

    }

    public function tipos($page=1){

        $this->movimientostipo = Load::model('movimientostipo')->getPaginadosTipoMovimientos($page);

    }

    public function registrar_tipo(){
        $this->titulo = "Registrar tipo de movimiento";
        try {
            if (Input::hasPost('movimientostipo')) {
                $movimientotipo = new Movimientostipo(Input::post('movimientostipo'));

                if ($movimientotipo->save()) {
                    Flash::valid('El tipo de movimiento fué agregado Exitosamente...!!!');
                    Acciones::add("Agregó el Menú {$movimientotipo->concepto} al sistema", 'Tipo de movimientos');
                    return Router::redirect('tipos');
                } else {
                    Flash::warning('No se Pudieron Guardar los Datos...!!!');
                }
            }
        } catch (KumbiaException $e) {
            View::excepcion($e);
        }

    }

    public function actualizar_tipo($id){
        $this->titulo = "Actualizar movimiento";
        try {
            View::select('registrar_tipo');

            $movimientostipo = new Movimientostipo();

            $this->movimientostipo = $movimientostipo->find_first($id);

        if (Input::hasPost('movimientostipo')) {

                if ($movimientostipo->update(Input::post('movimientostipo'))) {
                    Flash::valid('El Tipo de movimiento fué actualizado Exitosamente...!!!');
                    Acciones::add("Actualizo el tipo de movimiento {$movimientostipo->concepto}", 'menu');
                    return Router::redirect();
                } else {
                    Flash::warning('No se Pudieron Guardar los Datos...!!!');
                    unset($this->movimientostipo); //para que cargue el $_POST en el form
                }
            }
        } catch (KumbiaException $e) {
            View::excepcion($e);
        }
    }
            
    public function activar_tipo($id) {
        try {
            $movimientostipo = new Movimientostipo();
            $movimientostipo->find_first($id);
            if ($movimientostipo->activar()) {
                Flash::valid("El tipo de movimiento <b>{$movimientostipo->concepto}</b> esta ahora <b>Activo</b>...!!!");
                Acciones::add("Colocó al tipo de movimiento {$movimientostipo->concepto} como activo", 'recursos');
            } else {
                Flash::warning("No se pudo activar el tipo de movimiento <b>{$movimientostipo->concepto}</b>...!!!");
            }
        } catch (KumbiaException $e) {
            View::excepcion($e);
        }
        return Router::redirect();
    }

    public function desactivar_tipo($id) {
        try {
            $movimientostipo = new Movimientostipo();
            $movimientostipo->find_first($id);
            if ($movimientostipo->desactivar()) {
                Flash::valid("El tipo de movimiento <b>{$movimientostipo->concepto} esta ahora <b>Inactivo</b>...!!!");
                Acciones::add("Colocó al tipo de movimiento {$movimientostipo->concepto} como inactivo", 'recursos');
            } else {
                Flash::warning("No se pudo activar el tipo de movimiento <b>{$movimientostipo->concepto}</b>...!!!");
            }
        } catch (KumbiaException $e) {
            View::excepcion($e);
        }
        return Router::redirect();
    }

    public function eliminar_tipo($id) {
        try {
            $movimientostipo = new Movimientostipo();
            $movimientostipo->find_first($id);
            if ($movimientostipo->delete()) {
                Flash::valid("El tipo de movimiento <b>{$movimientostipo->concepto}</b> ha sido Eliminado...!!!");
                Acciones::add("Eliminó al tipo de movimiento {$movimientostipo->concepto} del Sistema", 'recursos');
            } else {
                Flash::warning("No se Pudo eliminar el recurso <b>{$movimientostipo->concepto}</b>...!!!");
            }
        } catch (KumbiaException $e) {
            View::excepcion($e);
        }
        return Router::redirect();
    }
		
}